
const obj=
{
       a:1
}

Map()    //一种新的对象


const m=new Map()    //其他任意类型作为key，弥补其他传统的不足
const o={age:18}
m.set(o,[1,2,3])    //对象为key，value为一个数字
m.get(o)            //读取key为o
m.delete(o)
m.has()           //判断里面是否包含....
m.size()          //对象里面有几个key
m.keys()  //拿到有哪些key
m.values()  //拿到里面有哪些value
m.entries()  




let myMap = new Map(); // 创建一个空的Map实例

// 添加键值对
myMap.set('name', '牛哥'); // 添加键值对 ('name', '牛哥')

// 获取值
console.log(myMap.get('name')); // 输出: 牛哥

// 检查键是否存在
console.log(myMap.has('name')); // 输出: true

// 更新已存在的键的值
myMap.set('name', '牛二哥'); // 现在 'name' 对应的值是 '牛二哥'

// 再次获取值，验证更新
console.log(myMap.get('name')); // 输出: 牛二哥

// 使用迭代器遍历Map
for (let [key, value] of myMap) {
       console.log(`${key}: ${value}`);
}
// 输出:
// name: 牛二哥

// 清空Map
// myMap.clear();

// 删除特定键值对
myMap.delete('name');

// 检查键是否已被删除
console.log(myMap.has('name')); // 输出: false, 因为刚刚删除了




const mySet = new Set([1, 2, 3]);
console.log(mySet[0]); // undefined